package com.itany.corejava.code05_方法;

/**
 * @author: 石小俊
 * @date: 2023年03月03日 14:00
 * @version: 1.0
 */
public class Test02_练习 {

    public static void main(String[] args) {
        int sum = sum(5);
        System.out.println(sum);

        int sum2 = sum2(3,5,20);
        System.out.println(sum2);

        int power = power(2,5);
        System.out.println(power);
    }


    /**
     * 根据传递的参数n进行值的判断
     * 如果传递的参数是一个奇数,则求1-n之间的所有奇数之和
     * 如果传递的参数是一个偶数,则求1-n之间所有的偶数之和
     *
     * @param n
     * @return
     */
    public static int sum(int n) {
        // 奇数之和
        int oddSum = 0;
        // 偶数之和
        int evenSum = 0;
        for (int i = 1; i <= n; i++) {
            if (i % 2 == 0) {
                evenSum += i;
            } else {
                oddSum += i;
            }
        }
        if (n % 2 == 0) {
            return evenSum;
        }
        return oddSum;
    }


    /**
     * 求1到n之间能被num1与num2整除的数字之和
     *
     * @param num1
     * @param num2
     * @param n
     * @return
     */
    public static int sum2(int num1, int num2, int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            if (i % num1 == 0 && i % num2 == 0) {
                sum += i;
            }
        }
        return sum;
    }

    /**
     * 求x的y次方
     * @param x
     * @param y
     * @return
     */
    public static int power(int x, int y){
        if(y == 0){
            return 1;
        }
        int result = x;
        for(int i = 2; i <= y; i++){
            result = result * x;
        }
        return result;
    }
}
